package com.laen.demo.task;

import java.util.List;


/**
 * 乘务员数据处理定时任务抽象类
 * 
 * @author liuhuixi
 *
 * @param <T>
 * @param <R>
 */
public abstract class AbstractCwyTask<T, R> implements Runnable {

    /**
     * 后处理，存数据库
     * 
     * @param result
     */
    protected void postProcess(List<R> result) {

    }

    /**
     * 预处理
     * 
     * @param data
     */
    protected void preProcess(List<T> data) {

    }

    /**
     * 处理数据
     * 
     * @param data
     * @return
     */
    protected List<R> process(List<T> data) {
        return null;
    }

    /**
     * 加载数据库数据
     * 
     * @return
     */
    protected List<T> loadData() {
        return null;
    }

    /**
     * 微服务启动初始化
     */
    protected void prepare() {

    }

    /**
     * 默认每天凌晨0点1秒执行
     * 
     * @return
     */
    protected String cronExpression() {
        return "1 0 0 ? * *";
    }

}
